package com.demo.spring.prompt;

import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;
import dev.langchain4j.service.spring.AiServiceWiringMode;
import reactor.core.publisher.Flux;

@AiService(
	wiringMode = AiServiceWiringMode.EXPLICIT, // 手动装配
	chatModel = "openAiChatModel", // 指定模型beanName
	streamingChatModel = "openAiStreamingChatModel"
)
public interface ConsultantService {
	
	// 用于聊天的方法
	// 添加系统提示词
	@SystemMessage("你是一个聊天助手，提供有情绪价值的聊天")
	// 也可以从外部文件读取提示词
	// @SystemMessage(fromResource = "xxx.txt")
	// 添加用户消息
	// @UserMessage("你是一个聊天助手！{{msg}}")
	//public Flux<String> chat(@V("msg") String message);
	public Flux<String> chat(String message);

}
